Numbeo Scraper
Pricing
from $1.80 / 1,000 results
Numbeo Scraper
[๐ฐ $1.8 / 1K] Extract Numbeo cost-of-living data without an API key โ 55+ itemized prices per city plus crime, health care, pollution, traffic, property and quality-of-life indices in any of 24 currencies.
Pricing
from $1.80 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Pull cost-of-living and quality-of-life data from Numbeo at scale โ 55+ itemized prices per city, six quality-of-life indices, full worldwide rankings, and nationwide country averages, reported in any of 24 currencies. No API key, no manual copy-paste, no account. Built for relocation analysts, remote-work salary planners, real-estate researchers, and HR and fintech comp teams who need clean, structured cost-of-living benchmarks without rebuilding Numbeo's tables by hand.
Why This Scraper?
- 55+ itemized prices per city โ rent, groceries, restaurants, transport, utilities, clothing, leisure, and net salary, each with a crowd-sourced average plus a low-to-high range, not just a single headline number.
- Seven data categories in one run โ Cost of Living, Property Prices & Investment, Quality of Life, Crime, Health Care, Pollution, and Traffic, selectable per location.
- Six quality-of-life indices โ Quality of Life, Crime, Health Care, Pollution, Traffic, and Property scores returned as clean numeric values ready for dashboards and models.
- 24 reporting currencies โ every price converted and stamped with its currency code (USD, EUR, GBP, JPY, CNY, INR, AED, and 17 more), so you can benchmark cities apples-to-apples in one denomination.
- Full worldwide city rankings, every sub-index included โ pull Numbeo's complete ranked tables (500+ cities per category, e.g. the entire 543-city cost-of-living ladder ranked 1 through 543) or cap them to the top N. Each ranked city ships all its named sub-indices, not just the headline score โ for cost-of-living that's Cost of Living, Rent, Cost of Living Plus Rent, Groceries, Restaurant Price, and Local Purchasing Power Index in one row.
- US-city auto-disambiguation โ type "Austin, United States" or "Austin, TX" and it resolves to the right metro automatically, no hunting for the correct page.
- Paste a name or a URL โ feed plain "City, Country" names, "City, State" for US metros, or a full Numbeo page URL; all three resolve to the same structured output.
- Flat, BI-ready rows โ one row per price item, index, or ranking entry with a
typediscriminator, so the output drops straight into spreadsheets, SQL, and analytics tools. - Country-level averages โ nationwide cost-of-living figures for whole countries alongside city-level detail in the same dataset.
Use Cases
Relocation & Global Mobility
- Compare living costs between a current and prospective home city before a move
- Build relocation cost calculators for employees and expats
- Estimate the rent, groceries, and transport budget needed in a new city
- Rank candidate destinations by quality of life, safety, and affordability
Salary & Compensation Benchmarking
- Anchor cost-of-living adjustments to local net-salary and price data
- Set location-based pay bands for remote and distributed teams
- Compare purchasing power across offices in one common currency
- Justify relocation stipends with itemized local price evidence
Real Estate & Market Research
- Track apartment buy and rent prices in city centre vs. outside centre
- Compare price-to-income and rental-yield indicators across markets
- Surface the most and least expensive cities for property investment
- Feed local market context into property valuation models
Travel & Lifestyle Planning
- Budget daily costs for trips using restaurant, transport, and grocery prices
- Compare destinations on safety, pollution, and healthcare quality
- Build "cost of a week here" estimates for travel content and tools
Academic & Economic Research
- Assemble cross-country cost-of-living and purchasing-power datasets
- Study price dispersion across hundreds of cities at once
- Combine crime, health, pollution, and traffic indices for liveability studies
Getting Started
Cost of Living for One City
The simplest run โ a single city, default category and currency:
{"cities": ["London, United Kingdom"]}
Multiple Cities and Categories
Collect cost of living plus crime and pollution indices for several cities, priced in euros:
{"cities": ["Berlin", "Paris", "Madrid"],"categories": ["cost-of-living", "crime", "pollution"],"currency": "EUR"}
Countries, Cities, and a Currency Switch
Mix city-level detail with nationwide country averages, reported in Japanese yen:
{"cities": ["Tokyo", "Osaka"],"countries": ["Japan", "South Korea"],"categories": ["cost-of-living", "quality-of-life"],"currency": "JPY"}
Worldwide Rankings
Leave cities and countries empty and turn on rankings to pull the top 50 cities per category:
{"categories": ["cost-of-living", "quality-of-life"],"includeRankings": true,"maxCities": 50}
Input Reference
What to Collect
| Parameter | Type | Default | Description |
|---|---|---|---|
cities | array | ["London, United Kingdom", "Berlin"] | City names, one per line. Add a country or US state when a name is shared (e.g. "London, United Kingdom", "Austin, TX"). You can also paste a full Numbeo city URL. |
countries | array | [] | Country names for nationwide average data, one per line (e.g. "Germany", "Japan"). A full Numbeo country URL also works. |
categories | array | ["cost-of-living"] | Which kinds of data to collect per location. Options: Cost of Living (itemized prices), Property Prices & Investment, Quality of Life, Crime, Health Care, Pollution, Traffic. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
currency | string | "US Dollar (USD)" | Currency to report all prices in. 24 options including Euro, British Pound, Canadian Dollar, Japanese Yen, Chinese Yuan, Indian Rupee, UAE Dirham, and Singapore Dollar. |
includeRankings | boolean | false | Also collect Numbeo's worldwide ranked city table for each selected category. When cities and countries are both empty, this becomes the only thing collected. |
maxCities | integer | 100 | When rankings are on, the maximum number of ranked cities per category. Set to 0 to collect every ranked city. Has no effect on cities or countries you type in yourself. |
Output
Each result is one flat row. The type field tells you what kind of row it is โ city_price, country_price, city_index, or ranking โ so you can split, filter, or join the dataset cleanly. The shared envelope (location, category, currency, url, scrapedAt) is identical across every row.
Itemized City Price (city_price)
{"type": "city_price","location": "London, United Kingdom","city": "London","country": "United Kingdom","category": "cost-of-living","categoryGroup": "Restaurants","itemName": "Meal, Inexpensive Restaurant","avgPrice": 20.0,"lowestPrice": 15.0,"highestPrice": 30.0,"indexValue": null,"subIndices": null,"rank": null,"currency": "GBP","url": "https://www.numbeo.com/cost-of-living/in/London","scrapedAt": "2026-06-10T12:00:00Z"}
Quality-of-Life Index (city_index)
{"type": "city_index","location": "London, United Kingdom","city": "London","country": "United Kingdom","category": "crime","categoryGroup": null,"itemName": "Safety Index","avgPrice": null,"lowestPrice": null,"highestPrice": null,"indexValue": 55.42,"subIndices": null,"rank": null,"currency": null,"url": "https://www.numbeo.com/crime/in/London","scrapedAt": "2026-06-10T12:00:00Z"}
Country Average (country_price)
{"type": "country_price","location": "Germany","city": null,"country": "Germany","category": "cost-of-living","categoryGroup": "Markets","itemName": "Milk (regular), (1 liter)","avgPrice": 1.05,"lowestPrice": 0.75,"highestPrice": 1.50,"indexValue": null,"subIndices": null,"rank": null,"currency": "EUR","url": "https://www.numbeo.com/cost-of-living/country_result.jsp?country=Germany","scrapedAt": "2026-06-10T12:00:00Z"}
Global Ranking (ranking)
{"type": "ranking","location": "Zurich, Switzerland","city": "Zurich","country": "Switzerland","category": "cost-of-living","categoryGroup": null,"itemName": "Cost of Living Index","avgPrice": null,"lowestPrice": null,"highestPrice": null,"indexValue": 125.4,"subIndices": {"Cost of Living Index": 125.4,"Rent Index": 73.8,"Cost of Living Plus Rent Index": 101.8,"Groceries Index": 129.5,"Restaurant Price Index": 121.8,"Local Purchasing Power Index": 156.0},"rank": 1,"currency": null,"url": "https://www.numbeo.com/cost-of-living/in/Zurich","scrapedAt": "2026-06-10T12:00:00Z"}
Field Reference
| Field | Type | Description |
|---|---|---|
type | string | Row kind: city_price, country_price, city_index, or ranking. |
location | string | Full place label, e.g. "London, United Kingdom". |
city | string | null | City name when the row is city-scoped. |
country | string | null | Country name. |
category | string | Numbeo section: cost-of-living, quality-of-life, crime, health-care, pollution, traffic, or property-investment. |
categoryGroup | string | null | Price group for price rows (Restaurants, Markets, Transportation, Rent, Salaries, and more). |
itemName | string | Price item ("Meal, Inexpensive Restaurant") or index name ("Safety Index"). |
avgPrice | number | null | Average reported price (price rows). |
lowestPrice | number | null | Low end of the reported range. |
highestPrice | number | null | High end of the reported range. |
indexValue | number | null | Index or ranking score value (the primary, sorted-by index on ranking rows). |
subIndices | object | null | On ranking rows, every named sub-index for that city keyed by column name โ e.g. for cost-of-living: Cost of Living Index, Rent Index, Cost of Living Plus Rent Index, Groceries Index, Restaurant Price Index, Local Purchasing Power Index. Null on non-ranking rows. |
rank | integer | null | Global rank position (ranking rows). |
currency | string | null | Currency code of the prices on this row. |
url | string | Source Numbeo page URL. |
scrapedAt | string | Extraction timestamp (ISO 8601, UTC). |
Tips for Best Results
- Qualify ambiguous city names. Bare "London" can resolve to London, Canada โ add the country or US state ("London, United Kingdom", "Austin, TX") to pin the exact metro you want.
- Paste the Numbeo URL for guaranteed targeting. If you already have the city's Numbeo page open, pasting its URL skips name resolution entirely and goes straight to that page.
- Pick one currency for cross-city comparisons. Setting a single currency (e.g. EUR) converts every city's prices into the same denomination so you can rank them directly.
- Use rankings +
maxCitiesto bulk-pull the cheapest or safest N cities. Turn on rankings, leave cities empty, and setmaxCitiesto grab the top N cities for any category in one run โ set it to0for the entire ranked table. - Cost of Living returns the richest detail. It yields all 55+ itemized prices; the index categories (crime, pollution, traffic, etc.) return a handful of summary scores each, so combine both for full coverage.
- Expect sparse rows for smaller cities. Cities with thin crowd-sourced data return fewer price items, and some salary rows carry an average but no low/high range โ that is normal, not an error.
- Filter by
typeafter the run. Split prices from indices and rankings using thetypefield for clean, purpose-built tables in your destination tool.
Pricing
From $1.80 per 1,000 results โ pay only for the rows you collect, undercutting comparable Numbeo data tools. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.215 | $0.20 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.00 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.00 | $19.00 | $18.00 |
| 100,000 | $215.00 | $200.00 | $190.00 | $180.00 |
A "result" is one dataset row โ a single price item, index value, or ranking entry. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor collects publicly available cost-of-living and quality-of-life information for research, analysis, and benchmarking. Use it responsibly: respect Numbeo's terms of service, avoid excessive request volumes, and comply with all applicable laws and regulations in your jurisdiction. Do not use collected data to harm individuals or for any unlawful purpose. You are responsible for how you use the data you collect.